Data collection solutions can generally be separated into two general approaches. The first approach, called server-side, loads software onto the customer's server, for example, packet “sniffing” software and log file analysis software. This software collects many of the more common usage statistics and is very beneficial in storing the method used to transmit data. The second approach focuses on placing code on the client's computer to capture client interactions with a remote site. These client-side data collection solutions take a variety of forms. Examples of client-side data collection solutions include code inserted on a page and text files (also known as “cookies”) which are stored on the client's machine
Unfortunately, both approaches suffer a number of drawbacks that make them nonviable options for comprehensive, unobtrusive data collection. One major drawback of these approaches is that code has to be installed either on the customer's server, in the former case, or on the client's machine as in the latter case. Software compatibility issues, tracked solution growth constraints and customer/client time usage issues are all exacerbated by this requirement. These approaches also limit the usefulness or utility of a tracked network-enabled solution. In the server-side approach, many tracking approaches use cached components and they cannot support complex client-side interactions that form the basis of a significant number of network-enabled solutions. The client-side approach, on the other hand, cannot adequately handle new interactions between the client and the server as they rely on static usage patterns to infer user activity. Finally, there is a growing need to track clients across related service offerings and this capability is beyond the scope of server-side solutions and only possible on client-side solutions through the use of third-party utilities which are disabled by default in most modem systems. For example, in the case of website tracking, the only means available for these types of tracking system to persist across multiple websites is to utilize third-party cookies. Modern web browsers deny the ability to use such cookies by default.